package com.quan.mall.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import com.baomidou.mybatisplus.annotation.IdType;

import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import javax.validation.constraints.NotNull;
import com.quan.commons.core.bean.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 商品-SPU基本信息
 *
 * @author yhaoquan
 * @email yhaoquan@163.com
 * @date 2021-03-26 13:03:26
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@TableName("pms_spu")
public class PmsSpu extends BaseEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 商品id
	 */
    @TableId
    private Long id;

	/**
	 * 所属分类id
	 */
    private Long cateId;

	/**
	 * 品牌id
	 */
    private Long brandId;

	/**
	 * 商品名称
	 */
    private String name;

	/**
	 * 商品主图
	 */
    private String headImg;

	/**
	 * 规格类型：1->统一规格，2->多规格
	 */
    private Integer specType;

	/**
	 * 是否推荐：1->是，2->否
	 */
    private Integer isRecom;

	/**
	 * 是否新品：1->是，2->否
	 */
    private Integer isNew;

	/**
	 * 是否精品：1->是，2->否
	 */
    private Integer isBest;

	/**
	 * 是否热销产品：1->是，2->否
	 */
    private Integer isHot;

	/**
	 * 分销佣金：1->开启，2->不开启
	 */
    private Integer isCommission;

	/**
	 * 一级分销比例
	 */
    private Integer firstRatio;

	/**
	 * 二级分销比例
	 */
    private Integer secondRatio;

	/**
	 * 三级分销比例
	 */
    private Integer threeRatio;

	/**
	 * 库存预警
	 */
    private Integer stockWarn;

	/**
	 * 快递运费：1->包邮，2->统一运费，3->运费模板
	 */
    private Integer freeShippingType;

	/**
	 * 统一运费
	 */
    private BigDecimal freeShipping;

	/**
	 * 运费模板ID
	 */
    private Long freeShippingTemplateId;

	/**
	 * 销售状态：1->上架，2->下架
	 */
    private Integer status;

	/**
	 * 排序
	 */
    private Integer sort;

	/**
	 * 创建时间
	 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime ctime;

	/**
	 * 更新时间
	 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime utime;


}
